package com.pengshun.modules.api.pay.service;

import com.pengshun.modules.api.order.service.dto.MerchantOrderDto;
import com.pengshun.modules.api.pay.service.dto.OrderQuery;
import com.pengshun.modules.common.BaseResult;

import javax.servlet.http.HttpServletRequest;

public interface WechatPayService {

    BaseResult order(MerchantOrderDto para);

    /**
     * 统一下单
     * @param body   描述(煤商品运费支付)
     * @param totalFee  总金额 单位元
     * @param attach  数据包（1-2-3） 1：用户id,2支付类型 3类型id   (用户id 1-煤商品支付4 订单id 1)
     * @param tradeType  支付类型（APP /JSAPI）
     * @param openid
     * @return
     */
//    DorderResult unifiedorder(HttpServletRequest request, String body, int totalFee,  String attach, String tradeType, String openid) throws Exception;
    DorderResult unifiedorder(String body, int totalFee,  String attach, String tradeType, String openid) throws Exception;

    /**
     * 支付接口回调
     * @param request
     * @return
     */
    String notifys(HttpServletRequest request) throws Exception;

    /**
     * 支付结果查询
     * @param outTradeNo      商户订单号
     * @return 支付信息
     */
    BaseResult orderQuery(String outTradeNo);

}
